package com.senlingspace.system.service;

import java.util.List;

import com.senlingspace.common.core.domain.AjaxResult;
import com.senlingspace.system.domain.SlkjTicketLevel;

/**
 * 票档管理Service接口
 *
 * @author SenlingSpace
 * @date 2024-07-03
 */
public interface ISlkjTicketLevelService {
    /**
     * 查询票档管理
     *
     * @param id 票档管理主键
     * @return 票档管理
     */
    public SlkjTicketLevel selectSlkjTicketLevelById(Long id);

    /**
     * 查询票档管理列表
     *
     * @param slkjTicketLevel 票档管理
     * @return 票档管理集合
     */
    public List<SlkjTicketLevel> selectSlkjTicketLevelList(SlkjTicketLevel slkjTicketLevel);

    /**
     * 新增票档管理
     *
     * @param slkjTicketLevel 票档管理
     * @return 结果
     */
    public int insertSlkjTicketLevel(SlkjTicketLevel slkjTicketLevel);

    /**
     * 修改票档管理
     *
     * @param slkjTicketLevel 票档管理
     * @return 结果
     */
    public int updateSlkjTicketLevel(SlkjTicketLevel slkjTicketLevel);

    /**
     * 批量删除票档管理
     *
     * @param ids    需要删除的票档管理主键集合
     * @param userId 操作人ID
     * @return 结果
     */
    public AjaxResult deleteSlkjTicketLevelByIds(Long[] ids, Long userId);

    /**
     * 删除票档管理信息
     *
     * @param id 票档管理主键
     * @return 结果
     */
    public int deleteSlkjTicketLevelById(Long id);

    /**
     * 根据票档名称确认是否已存在
     *
     * @param name
     * @param id
     * @return
     */
    int countTicketLevelByName(String name, Long id);

    /**
     * 根据票档ID集合查询票档信息
     *
     * @param levelIds
     * @return {@link List }<{@link SlkjTicketLevel }>
     */
    List<SlkjTicketLevel> selectSlkjTicketLevelByIds(List<Long> levelIds);

}
